class Item():
    
    def __init__(self, *args, **kwargs):
        self.count = kwargs.get('count',1)
        self.name = kwargs.get('name',"Hypercube")

class Money(Item):
    
    def __init__(self, *args, **kwargs):
        Item.__init__(self, *args, **kwargs)
        self.name = "Gold"

class Torch(Item):
    
    def __init__(self, *args, **kwargs):
        Item.__init__(self, *args, **kwargs)
        self.name = "Torch"
        self.view_dist = 12
        
class Weapon(Item):
    
    def __init__(self, *args, **kwargs):
        Item.__init__(self, *args, **kwargs)
        self.name = "Pointy Stick"
        self.range = 1
        self.damage = 3